/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package logica;

import fisica.CapaFisica;
import fisica.EgresoBalanceHidroelectroliticoFisica;
import hibernate.objeto.BalanceHidroelectrolitico;
import hibernate.objeto.EgresoBalanceHidroelectrolitico;
import java.util.Date;
import java.util.Vector;

/**
 *
 * @author Gonzalo
 */
public class EgresoBalanceHidroelectroliticoLogica extends CapaLogica {

    /**
     * Crea y persiste los egresos de un tratamiento quirurgico.
     *
     * @param datosProfesionalTratamientoQuirurgico Los datos de los
     * egresos
     *
     * @param balanceHidroelectrolitico  El id del objeto
     * creado para su posterior recuperación
     * @return true si se agregó correctamente, false en caso contrario
     */
    public static boolean agregarEgresoBalanceHidroelectrolitico(
            Object[] datosProfesionalTratamientoQuirurgico,
            BalanceHidroelectrolitico balanceHidroelectrolitico) {
        //Crea el objeto
        EgresoBalanceHidroelectrolitico egresoBalanceHidroelectrolitico =
                crearObjetoEgresoBalanceHidroelectrolitico(
                datosProfesionalTratamientoQuirurgico);

        egresoBalanceHidroelectrolitico.setBalanceHidroelectrolitico(
                    balanceHidroelectrolitico);

        //Persiste el objeto
        if (CapaFisica.guardarOActualizarObjeto(egresoBalanceHidroelectrolitico)) {

            return true;
        } else {
            return false;
        }
    }

    /**
     * Crea el objeto EgresoBalanceHidroelectrolitico.
     *
     * @param datosIngresoOEgresoBalanceHidroelectrolitico Los datos de los
     * egresos
     * las determinaciones
     * @return El objeto creado
     */
    private static EgresoBalanceHidroelectrolitico
            crearObjetoEgresoBalanceHidroelectrolitico(
            Object[] datosIngresoOEgresoBalanceHidroelectrolitico) {

        EgresoBalanceHidroelectrolitico egresoBalanceHidroelectrolitico =
                new EgresoBalanceHidroelectrolitico();

        egresoBalanceHidroelectrolitico.setTipoEgresoBalanceHidroelectrolitico(
                datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_TPO].toString());

        egresoBalanceHidroelectrolitico.setCantidadEgresoBalanceHidroelectrolitico(
                (Float)datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_CANTIDAD]);

        egresoBalanceHidroelectrolitico.setVelocidadEgresoBalanceHidroelectrolitico(
                (Float)datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_VELOCIDAD]);

        egresoBalanceHidroelectrolitico.setAlimentacionEnteralEgresoBalanceHidroelectrolitico(
                datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_ALIMENTACION_ENTERAL].toString());

        egresoBalanceHidroelectrolitico.setAlimentacionEnteralEgresoBalanceHidroelectrolitico(
                datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_UBICACION].toString());

        egresoBalanceHidroelectrolitico.setDispocisionCantidadEgresoBalanceHidroelectrolitico(
                (Float)datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_DISPOSICION_CANTIDAD]);

        egresoBalanceHidroelectrolitico.setHoraColocacionEgresoBalanceHidroelectrolitico(
                datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_HORA_COLOCACION].toString());

        egresoBalanceHidroelectrolitico.setFechaColocacionEgresoBalanceHidroelectrolitico(
                (Date)datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_FECHA_COLOCACION]);

        egresoBalanceHidroelectrolitico.setConclusionesColocacionEgresoBalanceHidroelectrolitico(
                datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_CONCLUSIONES_COLOCACION].toString());

        egresoBalanceHidroelectrolitico.setHoraRemocionEgresoBalanceHidroelectrolitico(
                datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_HORA_REMOCION].toString());

        egresoBalanceHidroelectrolitico.setFechaRemocionEgresoBalanceHidroelectrolitico(
                (Date)datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_FECHA_REMOCION]);

        egresoBalanceHidroelectrolitico.setConclusionesRemocionEgresoBalanceHidroelectrolitico(
                datosIngresoOEgresoBalanceHidroelectrolitico[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADOS_DE_INTERNACION_BALANCE_HIDROELECTROLITICO_INGRESO_O_EGRESO_CONCLUSIONES_REMOCION].toString());

        return egresoBalanceHidroelectrolitico;
    }

    /**
     * Retorna un vector de objetos EgresoBalanceHidroelectrolitico
     * según el id del tratamiento.
     *
     * @param idEgresoBalanceHidroelectrolitico El número de documento
     */
    public static Vector<EgresoBalanceHidroelectrolitico>
            getVectorEgresoBalanceHidroelectroliticoPorIdBalanceHidroelectrolitico(
            int idEgresoBalanceHidroelectrolitico) {
        return EgresoBalanceHidroelectroliticoFisica.
                getVectorEgresoBalanceHidroelectroliticoPorIdBalanceHidroelectrolitico(
                idEgresoBalanceHidroelectrolitico);
    }


    /**
     * Retorna el objeto EgresoBalanceHidroelectrolitico según el id.
     *
     * @param idEgresoBalanceHidroelectrolitico
     * @return El objeto EgresoBalanceHidroelectrolitico consultado,
     * null si no existe
     */
    static EgresoBalanceHidroelectrolitico getEgresoBalanceHidroelectroliticoPorId(
            int idEgresoBalanceHidroelectrolitico) {
        return EgresoBalanceHidroelectroliticoFisica
                .getEgresoBalanceHidroelectroliticoPorId(
                idEgresoBalanceHidroelectrolitico);
    }

    /**
     * Retorna todo el objeto EgresoBalanceHidroelectrolitico en string.
     *
     * @param egresoBalanceHidroelectrolitico El objeto a escribir
     */
    public static String getEgresoBalanceHidroelectroliticoString(
            EgresoBalanceHidroelectrolitico egresoBalanceHidroelectrolitico) {
        String egresoBalanceHidroelectroliticoString =
                "idEgresoBalanceHidroelectrolitico: " +
                egresoBalanceHidroelectrolitico.getIdEgresoBalanceHidroelectrolitico() + "\n" +
                "tipoEgresoBalanceHidroelectrolitico: " +
                egresoBalanceHidroelectrolitico.getTipoEgresoBalanceHidroelectrolitico() + "\n" +
                "velocidadEgresoBalanceHidroelectrolitico: " +
                egresoBalanceHidroelectrolitico.getVelocidadEgresoBalanceHidroelectrolitico() + "\n" +
                "cantidadEgresoBalanceHidroelectrolitico: " +
                egresoBalanceHidroelectrolitico.getCantidadEgresoBalanceHidroelectrolitico() + "\n" +
                "alimentacionEnteralEgresoBalanceHidroelectrolitico: " +
                egresoBalanceHidroelectrolitico.getAlimentacionEnteralEgresoBalanceHidroelectrolitico() + "\n" +
                "ubicacionEgresoBalanceHidroelectrolitico: " +
                egresoBalanceHidroelectrolitico.getUbicacionEgresoBalanceHidroelectrolitico() + "\n" +
                "horaColocacionEgresoBalanceHidroelectrolitico: " +
                egresoBalanceHidroelectrolitico.getHoraColocacionEgresoBalanceHidroelectrolitico() + "\n" +
                "fechaColocacionEgresoBalanceHidroelectrolitico: " +
                egresoBalanceHidroelectrolitico.getFechaColocacionEgresoBalanceHidroelectrolitico() + "\n" +
                "conclusionesColocacionEgresoBalanceHidroelectrolitico: " +
                egresoBalanceHidroelectrolitico.getConclusionesColocacionEgresoBalanceHidroelectrolitico() + "\n" +
                "horaRemocionEgresoBalanceHidroelectrolitico: " +
                egresoBalanceHidroelectrolitico.getHoraRemocionEgresoBalanceHidroelectrolitico() + "\n" +
                "fechaRemocionEgresoBalanceHidroelectrolitico: " +
                egresoBalanceHidroelectrolitico.getFechaRemocionEgresoBalanceHidroelectrolitico() + "\n" +
                "conclusionesRemocionEgresoBalanceHidroelectrolitico: " +
                egresoBalanceHidroelectrolitico.getConclusionesRemocionEgresoBalanceHidroelectrolitico() + "\n" + 
                "dispocisionCantidadEgresoBalanceHidroelectrolitico: " +
                egresoBalanceHidroelectrolitico.getDispocisionCantidadEgresoBalanceHidroelectrolitico() + "\n";

        return egresoBalanceHidroelectroliticoString;
    }

    /**
     * Retorna todo el objeto EgresoBalanceHidroelectrolitico en HTML.
     *
     * @param egresoBalanceHidroelectrolitico El objeto a escribir
     */
    public static String getEgresoBalanceHidroelectroliticoHTML(
            EgresoBalanceHidroelectrolitico egresoBalanceHidroelectrolitico) {
        String egresoBalanceHidroelectroliticoHTML = "";

        if (egresoBalanceHidroelectrolitico != null) {
            egresoBalanceHidroelectroliticoHTML =
                "<font size=\"3\" face=\"arial\" color=\"blue\">EGRESO </font><br><br><hr /><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Tipo:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                egresoBalanceHidroelectrolitico.getTipoEgresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Velocidad:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                egresoBalanceHidroelectrolitico.getVelocidadEgresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Cantidad:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                egresoBalanceHidroelectrolitico.getCantidadEgresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Alimentación enteral:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                egresoBalanceHidroelectrolitico.getAlimentacionEnteralEgresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Ubicación:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                egresoBalanceHidroelectrolitico.getUbicacionEgresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Fecha colocación: </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                egresoBalanceHidroelectrolitico.getFechaColocacionEgresoBalanceHidroelectrolitico()  + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Hora colocación:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                egresoBalanceHidroelectrolitico.getHoraColocacionEgresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Conclusión colocación:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                egresoBalanceHidroelectrolitico.getConclusionesColocacionEgresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Fecha remoción:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                egresoBalanceHidroelectrolitico.getFechaRemocionEgresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Hora remoción:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                egresoBalanceHidroelectrolitico.getHoraRemocionEgresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Conclusión remoción:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                egresoBalanceHidroelectrolitico.getConclusionesRemocionEgresoBalanceHidroelectrolitico() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Disposición cantidad:  </font>"
                    + "<font size=\"3\" face=\"arial\">" +
                egresoBalanceHidroelectrolitico.getDispocisionCantidadEgresoBalanceHidroelectrolitico() + "</font><br><br>";
        } else {
            egresoBalanceHidroelectroliticoHTML = "<font size=\"3\" face=\"arial\" color=\"blue\">EGRESO</font><br><br> " +
                    "<hr /><font size=\"3\" face=\"arial\">No posee</font><br></font><hr />";
        }



        return egresoBalanceHidroelectroliticoHTML;
    }
}
